export default {
	/**
	 * 向文件中写入数据
	 * @param {Object} path 要写入数据的文件的位置
	 * @param {Object} data 要写入的内容
	 */
	storage(path, data) {
		plus.io.requestFileSystem(
			plus.io.PUBLIC_DOCUMENTS, // 程序公用文档目录常量
			fs => {
				// 创建或打开文件, fs.root是根目录操作对象,直接fs表示当前操作对象
				fs.root.getFile(
					path,
					{
						create: true, // 文件不存在则创建
					},
					fileEntry => {
						// 文件在手机中的路径
						//console.log(fileEntry.fullPath)
						fileEntry.createWriter(writer => {
							// 写入文件成功完成的回调函数
							writer.onwrite = e => {
								console.log('写入成功');
							};
							// 向文件中写入数据
							writer.write(JSON.stringify(data));
						});
					},
					e => {
						console.log('getFile failed: ' + e.message);
					}
				);
			},
			e => {
				console.log(e.message);
			}
		);
	},
	/**
	 * 读取文件中的数据
	 * @param {Object} path 要读取数据的文件的位置
	 * @param {Object} type 要读取文件的信息，默认为数据 data
	 * @example read('文件名字包括后缀', 'data') 返回读取文件的数据
	 * @example read('文件名字包括后缀', 'name') 返回读取文件的名字
	 */
	read(path, type = 'data') {
		let that = this;
		return new Promise((resolve, reject) => {
			plus.io.requestFileSystem(
				plus.io.PUBLIC_DOCUMENTS,
				fs => {
					fs.root.getFile(
						path,
						{
							create: false,
						},
						fileEntry => {
							fileEntry.file(function (file) {
								console.log('文件大小:' + file.size + '-- 文件名:' + file.name);
								//创建读取文件对象
								let fileReader = new plus.io.FileReader();
								//以文本格式读取文件数据内容
								fileReader.readAsText(file, 'utf-8');
								//文件读取操作完成时的回调函数
								fileReader.onloadend = function (evt) {
									if (type === 'data') {
										resolve(evt.target.result);
									}
									if (type === 'name') {
										console.log('evt', evt.target.fileName);
										resolve(evt.target.fileName);
									}
									//console.log("提取的服务器地址:", sURL);
								};
							});
						},
						e => {
							reject(e);
							console.log(e);
						}
					);
				},
				e => {
					reject(e);
					console.log(e.message);
				}
			);
		});
	},
};
